package com.hgw.Demo10_TemplateMethodPattern.examples;

/**
 * Data time:2021/12/21 15:38
 * StudentID:2019112118
 * Author:hgw
 * Description: 账户类，充当抽象类
 */
public abstract class Account {
    // 基本方法——具体方法
    public boolean validate(String account,String password) {
        System.out.println("账号：" + account);
        System.out.println("密码：" + password);
        if (account.equalsIgnoreCase("hgw") && password.equalsIgnoreCase("123456")) {
            return true;
        } else {
            return false;
        }
    }
    // 基本方法——抽象方法
    public abstract void calculateInterest();

    // 基本方法——具体方法
    public void display() {
        System.out.println("显示利息");
    }

    // 模版方法
    public void handle(String account,String password) {
        if (!validate(account, password)) {
            System.out.println("账户或密码错误！");
            return;
        }
        calculateInterest();
        display();
    }
}
